#pragma once
#include "UltimateWinInputPluginPrecompiled.h"
#include "UltimateInputSubsystem.h"



class _UltimateWinInputPluginExport UltimateWinInputSubsystem: public UltimateInputSubsystem , public OIS::MouseListener, public OIS::KeyListener
{
	

	UltimateInputStruct inputStruct;

	OIS::InputManager * mInputManager;
	OIS::Keyboard * mKeyboard;
	OIS::Mouse * mMouse;

public:


	virtual UltimateInputStruct * handleInput();
	virtual void clearInput();

	virtual bool keyPressed( const OIS::KeyEvent &arg );
	virtual bool keyReleased( const OIS::KeyEvent &arg );
	virtual bool mouseMoved( const OIS::MouseEvent &arg );
	virtual bool mousePressed( const OIS::MouseEvent &arg, OIS::MouseButtonID id );
	virtual bool mouseReleased( const OIS::MouseEvent &arg, OIS::MouseButtonID id );



	UltimateWinInputSubsystem(Ogre::RenderWindow * window);
    ~UltimateWinInputSubsystem(); 
};
